@@ -20,9 +20,9 @@ class WorkerStatusController < ApplicationController |
||
20 | 20 |
end |
21 | 21 |
|
22 | 22 |
render json: { |
23 |
- pending: Delayed::Job.where("run_at <= ? AND locked_at IS NULL AND attempts = 0", start).count, |
|
24 |
- awaiting_retry: Delayed::Job.where("failed_at IS NULL AND attempts > 0").count, |
|
25 |
- recent_failures: Delayed::Job.where("failed_at IS NOT NULL AND failed_at > ?", 5.days.ago).count, |
|
23 |
+ pending: Delayed::Job.pending.where("run_at <= ?", start).count, |
|
24 |
+ awaiting_retry: Delayed::Job.awaiting_retry.count, |
|
25 |
+ recent_failures: Delayed::Job.failed.where('failed_at > ?', 5.days.ago).count, |
|
26 | 26 |
event_count: count, |
27 | 27 |
max_id: max_id || 0, |
28 | 28 |
events_url: events_url, |
@@ -7,3 +7,9 @@ Delayed::Worker.delay_jobs = !Rails.env.test? |
||
7 | 7 |
|
8 | 8 |
# Delayed::Worker.logger = Logger.new(Rails.root.join('log', 'delayed_job.log')) |
9 | 9 |
# Delayed::Worker.logger.level = Logger::DEBUG |
10 |
+ |
|
11 |
+class Delayed::Job |
|
12 |
+ scope :pending, ->{ where("locked_at IS NULL AND attempts = 0") } |
|
13 |
+ scope :awaiting_retry, ->{ where("failed_at IS NULL AND attempts > 0") } |
|
14 |
+ scope :failed, -> { where("failed_at IS NOT NULL") } |
|
15 |
+end |